Certificate から modulus を切り出す、modulus からアドレスを計算
Node をインストール
実行環境がある人はスキップしてください
事前準備
code:sh
mkdir script && cd script # script dir 作成
npm init -y
npm install ts-node node-forge @types/node-forge
touch index.ts
Certificate の準備
実行するスクリプト
code:index.ts
import * as forge from "node-forge";
// 0x prefix 付きの certificate
const certificate = "YOUR_CERTIFICATE_WITH_0xPREFIX"
const derCertificate = Buffer.from(certificate.slice(2), "hex");
const forgeDer = forge.util.createBuffer(derCertificate.toString("binary"));
const cert = forge.pki.certificateFromAsn1(forge.asn1.fromDer(forgeDer));
const modulus = (cert.publicKey as forge.pki.rsa.PublicKey).n.toString(16);
// Add 0x Prefix
console.log(0x${modulus})
実行
code:sh
ts-node index.ts
code:result_example
0xb237e10de3abaf29aeca23c20a552bd325146c0756fc5b097b991e7ec569551ebb1db97b713d7c66624d78aff9068c12e441ddd18521a42f69d85c9a0cee707c926d02ea07588d39173304d91de301732eafba90cbd7a0a416b33a544a159530a91aa6b8c52e4c60ea512076b4ca8f9d61532afe9a6124d4bb86dac49ac2694ba3e42973be8b017450a7f1a49a64564e713482d7d32d04fb45f569d986d6f1ccc44b7b71b27b5d8641150c116f85aa115dcedce7a5f0c65f048ecbd3a654c2ffe514eca3526027d17f12cf044b92ca73a541a220a1bea3f92dc45201523bb2af12894cc981b15db19f46aa286c1d683a2d438131569e9ffa14cd37d5f5d46137
Modulus からアドレスを計算
YOUR_MODULUS_WITH_0xPREFIX を上記で取得した値に変更してください
terminal から実行してください
code:sh
code:example_response.json
{
"address": "0x28d0420e73fF046Bd1bbD82Fedc4138F8AEC94b1"
}
Factory Contract を使って計算してみよう
modulus: 取得した modulus
salt: 0